package wei.qiang.ye.spvalidationdemo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import wei.qiang.ye.spvalidationdemo.dto.UserDTO;
import wei.qiang.ye.spvalidationdemo.dto.UserUpdateGenderDTO;
import wei.qiang.ye.spvalidationdemo.service.UserServiceImpl;

import javax.validation.Valid;

@RestController
@RequestMapping("/users")
@Validated
public class UserController {
    @Autowired
    private UserServiceImpl userService;

    private Logger logger = LoggerFactory.getLogger(getClass());

    @GetMapping("/get")
    public void get(@RequestParam("id") Integer id) {
        userService.get(id);
    }

    @PostMapping("/add")
    public void add(UserDTO addDTO) {
        userService.add(addDTO);
    }

    @PostMapping("/update-gender")
    public void updateGender(@Valid UserUpdateGenderDTO updateGenderDTO) {
        logger.info("[updateGender][updateGenderDTO: {}]", updateGenderDTO);
    }


//    @GetMapping("/get")
//    public void get(@RequestParam("id") @Min(value = 1L, message = "编号必须大于 0") Integer id) {
//        logger.info("[get][id: {}]", id);
//    }
//
//    @PostMapping("/add")
//    public void add(@Valid UserDTO addDTO) {
//        logger.info("[add][addDTO: {}]", addDTO);
//    }

}
